package com.wigem.fa.service;

import com.wigem.approve.vo.DaqPolicyVo;
import com.wigem.fa.dto.ApplyAndEntInfoDto;
import com.wigem.fa.dto.ApplySummaryDto;
import com.wigem.framework.common.pojo.PageResult;

import com.wigem.fa.entity.FaApplyEntity;
import com.wigem.fa.vo.FaApplyVo;
import com.wigem.framework.common.util.web.response.Result;
import com.wigem.module.general.entity.AssistNoticeEntity;
import com.wigem.module.general.vo.AssistNoticeVo;

import javax.servlet.http.HttpServletResponse;
import java.util.List;


/**
 * 企业申报Service接口
 *
 * @author DH
 * @date 2024-10-20
 */
public interface FaApplyService {


    /**
     * 查询FaApply列表
     */
    List<FaApplyEntity> getList(FaApplyVo faApplyVo);

    /**
     * 查询FaApply分页列表
     */
    PageResult<FaApplyEntity> getPageList(FaApplyVo faApplyVo);
    PageResult<AssistNoticeEntity> getNoticePageList(AssistNoticeVo vo);

    PageResult<ApplyAndEntInfoDto> getManagePageList(FaApplyVo faApplyVo);

    PageResult<ApplyAndEntInfoDto> getMidPageList(FaApplyVo faApplyVo);

    PageResult<ApplyAndEntInfoDto> getPostPageList(FaApplyVo faApplyVo);

    PageResult<ApplySummaryDto> getSummaryPageList(FaApplyVo faApplyVo);

    ApplySummaryDto getTotalRow(FaApplyVo faApplyVo);

    /**
     * 查询FaApply实体
     */
    FaApplyEntity getEntity(String id);

    Result back(String id);

    FaApplyEntity queryDto(FaApplyVo faApplyVo);

    /**
     * FaApply新增
     */

    Result add(FaApplyVo faApplyvo);

    /**
     * FaApply修改
     */
    void update(FaApplyVo faApplyvo);


    /**
     * FaApply保存
     */
    Result save(FaApplyVo faApplyvo);

    Result noticeSave(AssistNoticeVo vo);

    Result commit(FaApplyVo faApplyvo);

    Result postPoneSubmit(FaApplyVo faApplyvo);

    Result approve(FaApplyVo faApplyvo);


    /**
     * FaApply删除
     */
    int delete(String id);


    /**
     * FaApply移除
     */
    int remove(String id);

    void exportApply(HttpServletResponse httpServletResponse, FaApplyVo faApplyvo) throws Exception;

}
